
Updated at : Mon Oct 19 2026
이 포스팅은 AWS Skill Builder의 AWS Developer 과정을 학습하며 남긴 기록입니다.
AWS Developer가 어떤 역할은 맡는지 안내하는 듯 한데.. 실질적으로 코드를 작성하는 업무를 담당하는 사람으로 주로 lambda, api-gateway, dynamodb를 직접적으로 다루는 일을 맡는다고 한다. CI/CD 파이프라인 구성이나 모니터링/알람 설정 등은 DevOps의 업무이고, 어떤 서비스를 사용할지, 성능/확장성/보안/비용 등에 대해 고려하는 것은 Architecture의 업무라고 한다. Devloper는 이들과 함께 소통하며 일하는 것이고..
그런데 이게.. 대기업 수준의 큰 팀에서는 딱 나뉘어서 업무분장이 되나 모르겠는데.. 나만 해도 현재까지 대부분 혼자 일을 하며, 위에 언급한 모든 것을 다 다루어야 했다. 그리고 그 경험상 모든 것을 알고 있는 편이 업무를 하는데 좋다고 생각한다.
이 단락을 통해 DevOps, Architecture들을 나누어 말하는 기준이 뭔지 조금 이해하게 되었을 뿐.. 별 의미 없는 내용인 듯 하다.
AWS에서 사용되는 주된 compute platform에는 EC2, Lambda, Containers가 있다. 진행하는 프로젝트마다 적합한 플랫폼을 선정하는 것은 매우 중요한 일이고, 이 섹션에서는 이에 대한 기준점을 제시한다.

플랫폼 선정을 위해서는 각각의 플랫폼들이 어떤 특징을 갖는지, 어떤 차이점이 있는지 알아야만 결정할 수 있을 것이다. 위 이미지는 AWS에서 제시하는 직관적인 개요로, 우측으로 갈수록 직접 관리해야할 내용이 더 많다고 안내하는 내용이다.
하지만 실제 플랫폼 선택을 이정도 정보로 할 수 있을리 만무하다. 따라서 각 플랫폼의 특징들에 대한 세밀한 정보가 더 필요하다. 하지만 이 글에 그 모든 정보들을 담을 수는 없기에, 내 생각에 중요하다고 판단되는 특징들만 기록하겠다.
이러한 특징들을 기반하여 AWS에서는 다음과 같은 하나의 매우 간단한 플랫폼 선정 방법을 제시한다.

위 방법을 사용하면, 매우 간단하게 사용할 플랫폼을 선정할 수 있다. 하지만 어디까지나 선제적으로 생각할 수 있는 간단한 방법일 뿐, 실상황에서는 좀 더 많은 요소가 고려되어야 한다. 예를 들자면 Cold start, Cost 등의 고려요소가 있다.
lambda는 이벤트 발생시 실행되는 형태로, 호출이 있을 경우 실행을 준비하기 시작하기 때문에 지연(latency)이 생길 수 밖에 없다. 반면 EC2는 항시 준비된 상태이기 때문에 지연이 아예 발생하지 않는다. 물론 lambda도 warm start가 가능하도록 설계될 수 있으나, 그렇다하더라도 API에 지연이 있어서는 안되는 상황이라면 lambda는 좋은 선택지가 될 수 없을 것이다.
EC2는 instance를 활성화 해놓는 것만으로 비용이 발생한다. 반면 lambda는 사용한 만큼만 비용을 지불하는 모델이기에 idle 상태에서는 비용이 아예 없다. 그럼 lambda가 항시 비용적으로 유리한 선택지일까? 그렇지 않다. lambda는 사용한 만큼 청구되기 때문에, 트래픽이 많아진다면 고정비용보다도 더 높은 비용이 청구될 수도 있다.
이렇듯 다양한 요소가 고려되어야 하기에 플랫폼 선택에 정답이 있다고 하기는 어렵다. 하지만 그 선택을 돕기 위하여 다음과 같은 방법도 제시된다.

위 이미지는 AWS에서 보여준 하나의 예시로, 중요도를 수치화하는 방법론이다. 플랫폼 선정을 위한 기준을 결정한 후, 그 기준은 얼마만큼 중요한지 그 가중치(Weight)를 부여하고, 각 플랫폼은 해당 기준에 있어 어느 정도의 점수를 매길 수 있는지 분석한다. 이를 통해 최종적으로 점수 * 가중치의 합산을 구하여, 어느 플랫폼이 가장 높은 평가를 얻는지 알 수 있게 된다.
위 이미지는 하나의 예시일뿐이지만, 그 기준과 플랫폼 점수 평가가 합당하다 판단되기에 그대로 사용해도 나쁘지 않을 듯 싶다. 다만 가중치는 개발팀, 운영팀, 사업팀 등 모든 팀원들의 논의를 통해 그때 그때 변경이 필요할 것이다.
이렇듯 플랫폼의 기능적 특징뿐만 아니라 프로젝트에서 요구하는 기능, 관계자의 요구사항 등 고려해야 하는 사항이 많기에, 답을 찾기는 매우 어렵다고 생각된다. 따라서 어디까지나 주관적으로, AWS에서 제시한 간단한 선정 방법을 1차적 활용하고, 이후 비용 문제 및 팀 내의 플랫폼 전문성/선호도 정도를 추가로 고려한다면.. 나쁜 선택은 아니지 않을까? 싶다.